/* 
 * File:   Message.h
 * Author: sgk
 *
 * Created on March 23, 2010, 12:31 AM
 */

#ifndef _MESSAGE_H
#define	_MESSAGE_H

class Message {
public:
    Message();
    virtual ~Message();

    static void packMessageInfo(char* buffer, int endianFormat, int messageType, int retransmission);

    // TODO
    // pack for open account operation
    static void pack(char* buffer, int requestId, int methodId, string name,
            string password, int currencyType, float balanceAmount);

    // TODO
    // pack for close account operation
    static void pack(char* buffer, int requestId, int methodId, string name,
            string password, int accountNum);

    // pack for deposit/withdraw operation
    static void pack(char* buffer, int requestId, int methodId, string name,
            string password, int accountNum, int currencyType, float amount);
    // TODO
    // pack for check balance same as close account operation
//    static void pack(char* buffer, int requestId, int methodId, string name,
//            string password, int accountNum);

    // TODO
    // pack for transfer operation
    static void pack(char* buffer, int requestId, int methodId, string name,
            string password, int accountNum, int currencyType, float amount, int accountNumToTransfer);

    // pack for monitoring updates operation
    static void pack(char* buffer, int request, int methodId, int interval);

private:

};

#endif	/* _MESSAGE_H */

